﻿/* 关于 IB, 您可以参考 http://blog.sina.com.cn/s/blog_604c436d0100o5j0.html.
 * IB 是项目 zsharedcode 的一部分, 您可以参考 http://code.google.com/p/zsharedcode/ 或者 http://blog.sina.com.cn/s/blog_604c436d0100o04s.html.
 * Visual Studio 2010 项目模板请访问 http://blog.sina.com.cn/s/blog_604c436d0100o8gn.html.
 * 所有项目源码托管地址: http://panzer.codeplex.com/.
 * */
using System;
using System.Windows.Forms;

using zoyobar.shared.panzer.web.ib;

namespace IBBloggerTemplate
{

	internal abstract class Blog
	{
		// IEBrowser 核心类。
		protected IEBrowser ie;

		public IEBrowser IE
		{
			get { return this.ie; }
		}

		protected Blog ( WebBrowser browser, string homePage, string userName, string userNameTagJQuery, string password, string passwordTagJQuery )
		{

			if ( string.IsNullOrEmpty ( userName ) || string.IsNullOrEmpty ( userNameTagJQuery ) || string.IsNullOrEmpty ( password ) || string.IsNullOrEmpty ( passwordTagJQuery ) || string.IsNullOrEmpty ( homePage ) || null == browser )
				throw new ArgumentNullException ();

			// TODO: 此处的代码可以注销，ie 字段会被 Blog 的派生类定义。
			this.ie = new IEBrowser ( browser );
		}

		// 派生自 Blog 的类需要实现写日志的方法。
		internal abstract void WriteBlog ( string title, string textHTML, string catalog, string tag, bool isShiftEditMode );

	}

}
